home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectShow / Misc / Mapper / fil_data.h next >
Encoding:
C/C++ Source or Header  |  2001-10-08  |  5.6 KB  |  202 lines

  1. //------------------------------------------------------------------------------
  2. // File: fil_data.h
  3. //
  4. // Desc: DirectShow sample code - an MFC based C++ filter mapper application.
  5. //
  6. // Copyright (c) 1999-2001, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  10.  
  11. /* File created by MIDL compiler version 5.01.0164 */
  12. /* at Sat Oct 23 12:28:23 1999
  13.  */
  14. /* Compiler settings for fil_data.idl:
  15.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  16.     error checks: allocation ref bounds_check enum stub_data 
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __fil_data_h__
  39. #define __fil_data_h__
  40.  
  41. #ifdef __cplusplus
  42. extern "C"{
  43. #endif 
  44.  
  45. /* Forward Declarations */ 
  46.  
  47. #ifndef __IAMFilterData_FWD_DEFINED__
  48. #define __IAMFilterData_FWD_DEFINED__
  49. typedef interface IAMFilterData IAMFilterData;
  50. #endif     /* __IAMFilterData_FWD_DEFINED__ */
  51.  
  52.  
  53. /* header files for imported files */
  54. #include "unknwn.h"
  55. #include "strmif.h"
  56.  
  57. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  58. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  59.  
  60. /* interface __MIDL_itf_fil_data_0000 */
  61. /* [local] */ 
  62.  
  63.  
  64.  
  65.  
  66. extern RPC_IF_HANDLE __MIDL_itf_fil_data_0000_v0_0_c_ifspec;
  67. extern RPC_IF_HANDLE __MIDL_itf_fil_data_0000_v0_0_s_ifspec;
  68.  
  69. #ifndef __IAMFilterData_INTERFACE_DEFINED__
  70. #define __IAMFilterData_INTERFACE_DEFINED__
  71.  
  72. /* interface IAMFilterData */
  73. /* [unique][uuid][object] */ 
  74.  
  75.  
  76. EXTERN_C const IID IID_IAMFilterData;
  77.  
  78. #if defined(__cplusplus) && !defined(CINTERFACE)
  79.     
  80.     MIDL_INTERFACE("97f7c4d4-547b-4a5f-8332-536430ad2e4d")
  81.     IAMFilterData : public IUnknown
  82.     {
  83.     public:
  84.         virtual HRESULT STDMETHODCALLTYPE ParseFilterData( 
  85.             /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
  86.             /* [in] */ ULONG cb,
  87.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2) = 0;
  88.         
  89.         virtual HRESULT STDMETHODCALLTYPE CreateFilterData( 
  90.             /* [in] */ REGFILTER2 __RPC_FAR *prf2,
  91.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
  92.             /* [out] */ ULONG __RPC_FAR *pcb) = 0;
  93.         
  94.     };
  95.     
  96. #else     /* C style interface */
  97.  
  98.     typedef struct IAMFilterDataVtbl
  99.     {
  100.         BEGIN_INTERFACE
  101.         
  102.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  103.             IAMFilterData __RPC_FAR * This,
  104.             /* [in] */ REFIID riid,
  105.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  106.         
  107.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  108.             IAMFilterData __RPC_FAR * This);
  109.         
  110.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  111.             IAMFilterData __RPC_FAR * This);
  112.         
  113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseFilterData )( 
  114.             IAMFilterData __RPC_FAR * This,
  115.             /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
  116.             /* [in] */ ULONG cb,
  117.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2);
  118.         
  119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFilterData )( 
  120.             IAMFilterData __RPC_FAR * This,
  121.             /* [in] */ REGFILTER2 __RPC_FAR *prf2,
  122.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
  123.             /* [out] */ ULONG __RPC_FAR *pcb);
  124.         
  125.         END_INTERFACE
  126.     } IAMFilterDataVtbl;
  127.  
  128.     interface IAMFilterData
  129.     {
  130.         CONST_VTBL struct IAMFilterDataVtbl __RPC_FAR *lpVtbl;
  131.     };
  132.  
  133.     
  134.  
  135. #ifdef COBJMACROS
  136.  
  137.  
  138. #define IAMFilterData_QueryInterface(This,riid,ppvObject)    \
  139.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  140.  
  141. #define IAMFilterData_AddRef(This)    \
  142.     (This)->lpVtbl -> AddRef(This)
  143.  
  144. #define IAMFilterData_Release(This)    \
  145.     (This)->lpVtbl -> Release(This)
  146.  
  147.  
  148. #define IAMFilterData_ParseFilterData(This,rgbFilterData,cb,prgbRegFilter2)    \
  149.     (This)->lpVtbl -> ParseFilterData(This,rgbFilterData,cb,prgbRegFilter2)
  150.  
  151. #define IAMFilterData_CreateFilterData(This,prf2,prgbFilterData,pcb)    \
  152.     (This)->lpVtbl -> CreateFilterData(This,prf2,prgbFilterData,pcb)
  153.  
  154. #endif /* COBJMACROS */
  155.  
  156.  
  157. #endif     /* C style interface */
  158.  
  159.  
  160.  
  161. HRESULT STDMETHODCALLTYPE IAMFilterData_ParseFilterData_Proxy( 
  162.     IAMFilterData __RPC_FAR * This,
  163.     /* [size_is][in] */ BYTE __RPC_FAR *rgbFilterData,
  164.     /* [in] */ ULONG cb,
  165.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbRegFilter2);
  166.  
  167.  
  168. void __RPC_STUB IAMFilterData_ParseFilterData_Stub(
  169.     IRpcStubBuffer *This,
  170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  171.     PRPC_MESSAGE _pRpcMessage,
  172.     DWORD *_pdwStubPhase);
  173.  
  174.  
  175. HRESULT STDMETHODCALLTYPE IAMFilterData_CreateFilterData_Proxy( 
  176.     IAMFilterData __RPC_FAR * This,
  177.     /* [in] */ REGFILTER2 __RPC_FAR *prf2,
  178.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *prgbFilterData,
  179.     /* [out] */ ULONG __RPC_FAR *pcb);
  180.  
  181.  
  182. void __RPC_STUB IAMFilterData_CreateFilterData_Stub(
  183.     IRpcStubBuffer *This,
  184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  185.     PRPC_MESSAGE _pRpcMessage,
  186.     DWORD *_pdwStubPhase);
  187.  
  188.  
  189.  
  190. #endif     /* __IAMFilterData_INTERFACE_DEFINED__ */
  191.  
  192.  
  193. /* Additional Prototypes for ALL interfaces */
  194.  
  195. /* end of Additional Prototypes */
  196.  
  197. #ifdef __cplusplus
  198. }
  199. #endif
  200.  
  201. #endif
  202.